home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / mus / edit / XModule34.lha / XModule / XModule.doc < prev    next >
Text File  |  1995-06-14  |  52KB  |  1,340 lines

  1.  
  2.  
  3.    This manual documents XModule version 3.4 released on 14 Jun 95.
  4.  
  5.    Copyright (C) 1993,94,95 by Bernardo Innocenti, all rights reserved.
  6. Freely distributable.
  7.  
  8.    If you haven't done it yet, have a look at the ReadMe/ReadMe file
  9. first.
  10.  
  11. Overview
  12. ********
  13.  
  14.    The Amiga computer has standard file formats for almost everything.
  15. Graphics, text, animation, hypertext and many other data types are
  16. easily imported into any program that supports the given standards, but
  17. this isn't true for music.  Too bad the music interchange file format
  18. defined by Electronic Arts (the old IFF SMUS) was too poor to be usable
  19. in high-quality music sequencers.  Therefore, every music editor
  20. created its own proprietary module format, so that, for instance, you
  21. cannot load into ProTracker music written with Oktalyzer.
  22.  
  23.        XModule (pronounced Cross Module) born as music module
  24. conversion utility that tries to solve this problem.  The project
  25. started in early 1993, as a friend of mine (Fabio), who wrote a lot of
  26. (good) music on Oktalyzer, needed ProTracker to obtain certain effects.
  27. He had an old PD conversion program called Tracker that worked only
  28. in particular conditions and was really bogus.  So I decided to contact
  29. the author and he let me have the source for Lit30000  (about $20).
  30.  
  31.    The original program has been completely rewritten from scratch, as
  32. the source was poorly coded.  Now XModule is a completely different
  33. program sports many other features, like module optimization, a nice
  34. user interface and complex module editing functions and it is quickly
  35. turning into a full featured music editor.
  36.  
  37.    This is why I like to call XModule a module processor. XModule is
  38. to music processing what ADPro and ImageFX are to image processing (I
  39. am not very modest :-).
  40.  
  41. Distribution
  42. ************
  43.  
  44.    XModule is a Freeware program.  This means that you (probably)
  45. have got it free and you must not ask any money if you decide to copy
  46. it for someone else.  If, instead, someone sold you XModule for a price
  47. higher than the media used to store it on (i.e. $1 for a DD disk), tell
  48. him he should try making money honestly.
  49.  
  50.    I'm not asking you to pay for XModule because I've never paid for a
  51. ShareWare program, so I felt that I somehow had to pay my debt and I
  52. decided to distribute XModule as free software, a little gift to all
  53. the Amiga community.  Feel free to distribute XModule to your friends
  54. and enemies, but, if you do so, you must keep the documentation and
  55. the other distribution files together with the executable.  The source
  56. code is not required, but I'm distributing it to let others take
  57. advantage of my work, so, if possible, try to include the source too.
  58.  
  59.    Fred Fish, SAN, ADS and Aminet are especially granted permission to
  60. include XModule into their PD libraries.  Other PD libraries are
  61. welcome as well.
  62.  
  63.    If you intend to include XModule or parts of it in a commercial
  64. package, please at least send me a free copy of the product.  I would
  65. be honored to see one of my programs being part of a commercial package.
  66.  
  67.    You can modify or improve XModule (see Programmers), only be so kind
  68. to return the new source code to me, so I can put the new features in
  69. the next release.  And, please, do not strip my name from the
  70. documentation, the program source, or the executable.
  71.  
  72.    This product is provided as is, without warranties of any kind:
  73. the author of this program cannot be held liable for any defects in the
  74. executable nor in the documentation or in any other files contained in
  75. this package.  Any damage directly or indirectly caused by the
  76. use/misuse of XModule is the sole responsibility of the user
  77. her/him-self.  In other words: XModule never formatted my hard disk nor
  78. killed my dog, so I suppose it won't cause any damage to your system
  79. either, but, just in case, do not blame me if something nasty happens.
  80.  
  81. Getting Started
  82. ***************
  83.  
  84.    XModule requires Kickstart version 2.0 or greater.  The reason is
  85. that I hate programming on 1.3 and I won't do it any more.  If you still
  86. haven't upgraded to 2.0, you'll miss the chance to run XModule and many
  87. other wonderful programs.  So what are you waiting for?
  88.  
  89.    XModule also takes advantage of some 2.1 and 3.0 features, such as
  90. DataTypes, AmigaGuide, Locale and many enhancements for the user
  91. interface.
  92.  
  93.    You can invoke XModule either from the Shell or Workbench.  XModule
  94. accepts both command line and ToolTypes arguments.  Workbench and Shell
  95. parameters are the same.  The full AmigaDOS template is:
  96.  
  97.      XModule FROM/M,PUBSCREEN/K,PORTNAME/K,SETTINGS/K,
  98.       CX_POPUP/T,CX_POPKEY/K,CX_PRIORITY/K/N,
  99.       ICONXPOS/K/N,ICONYPOS/K/N,ICONNAME/K
  100.  
  101. The FROM keyword specifies modules to load at startup time.  Standard
  102. AmigaDOS wildcards can be used to match more than one module.  From
  103. Workbench, you multi-select module icons instead of specifying a
  104. ToolType.
  105.  
  106.    Specifying the PUBSCREEN keyword, followed by a public screen name,
  107. allows you to open XModule on an existing public screen.  The given
  108. name should match exactly (case matters), or the system won't be able to
  109. find the requested screen.  If the requested screen does not exist, a
  110. new public screen will be opened, cloning the resolution and colors of
  111. the default public screen (usually the Workbench screen).  Specifying
  112. an empty string (eg: "") you will automatically pick the default
  113. public screen.  Note that this behavior is not standard: most
  114. commodities will abort if the requested public screen does not exist.
  115. The default is to use or create a public screen called XModule.
  116.  
  117.        PORTNAME will change the name of XModule's ARexx port.  If a
  118. port with this name already exists, a number (eg: .1) will be
  119. appended to the name, until a unique name is found.  You can disable
  120. the ARexx port providing an empty string (eg: "") for PORTNAME.
  121. The port name defaults to XMODULE.  For more information about the
  122. ARexx port, consult the ARexx Interface chapter.
  123.  
  124.        SETTINGS causes XModule to use the given settings file instead
  125. of looking for the default preferences file.
  126.  
  127.        CX_POPUP controls wether the user interface should show as
  128. soon as XModule starts.  The default is to always show the interface.
  129. When used from the shell, CX_POPUP acts as a toggle, turning off the
  130. user interface.  From Workbench, you specify CX_POPUP=YES or
  131. CX_POPUP=NO to show and hide the user interface, respectively.
  132. See Commodities.
  133.  
  134.        CX_POPKEY specifies the hotkey that pops up XModule's user
  135. interface.  The given string should be a valid Commodities input
  136. description.  You can disable XModule's Commodities broker specifying
  137. an empty string (eg: "") for CX_POPUP.  The default is ctrl alt
  138. x.  See Commodities.
  139.  
  140.        CX_PRIORITY sets the Commodities priority for the XModule
  141. broker.  An high priority causes the input to be processed by {No Value
  142. For "prgnmae"} before other commodities with a lower priority. The
  143. priority ranges from +127 to -128.  The default priority is 0.  See
  144. Commodities.
  145.  
  146.        ICONXPOS specifies the X position of XModule's AppIcon.  The
  147. default is to let Workbench choose a suitable position for the icon.
  148.  
  149.        ICONYPOS specifies the Y position of XModule's AppIcon.  The
  150. default is to let Workbench choose a suitable position for the icon.
  151.  
  152.        ICONNAME specifies the name of XModule's AppIcon.  The default
  153. name is XModule.
  154.  
  155. User Interface
  156. **************
  157.  
  158.    XModule's GUI follows Commodore's 2.0 style guidelines.  Under
  159. Kickstart 3.0 and above, XModule takes advantage of new OS capabilities
  160. to enhance some aspects of the GUI.
  161.  
  162. Windows Layout
  163. ==============
  164.  
  165.    Gadget and menu layout is font sensitive, but using some fancy fonts
  166. could result in a somewhat weird look.  If you are using a very big
  167. font and a window becomes too big to fit in the screen, topaz/8 will
  168. be used as a fallback for rendering that window.
  169.  
  170.    When you close a window, it will remember its position and size when
  171. you open it again.  The same is true for window zooming operations.
  172.  
  173.    XModule will also try to make the active window visible by scrolling
  174. the screen automatically.  This feature comes handy if you use a
  175. virtual screen which is wider and/or taller than the default.
  176.  
  177. Shortcut Keys
  178. =============
  179.  
  180.    In all windows, the following shortcut keys are active:
  181.  
  182. ESC
  183.      Close the active window.  Does not work with ToolBox window, as it
  184.      would make it too easy to accidentally exit the program.
  185.  
  186. HELP
  187.      Bring up AmigaGuide on-line help.  See On-Line Help.
  188.  
  189. TAB
  190.      Cycles forward through string and numeric gadgets within the active
  191.      window.  SHIFT-TAB will cycle backwards.  TAB also activates
  192.      the first string or numeric gadget if none is selected.
  193.  
  194. Alt-TAB
  195.      Activates the next XModule window. ALT-SHIFT-TAB activates the
  196.      previous window.
  197.  
  198. RETURN
  199.      Activate the first string or numeric gadget in the active window.
  200.  
  201. Cursor UP/DOWN
  202.      Move up and down in a viewlist whenever the active window contains
  203.      one.  SHIFT-Cursor moves 5 items up/down. ALT-Cursor moves to
  204.      the top or to the bottom of the list.  This shortcut requires at
  205.      least Kickstart 3.0.
  206.  
  207.    In addition, gadgets with underscored characters in labels, can be
  208. operated hitting the highlighted key.  SHIFT-key acts the opposite of
  209. the unshifted key (sliders are decremented by one, cycle gadgets will
  210. cycle backwards, etc).  Keyboard shortcuts will not work for all gadget
  211. kinds under Kickstart 2.0.
  212.  
  213. On-Line Help
  214. ============
  215.  
  216.    This feature requires amigaguide.library, which is distributed
  217. with Workbench version 2.1 and up, and XModule.guide located in the
  218. current directory or in the same directory of XModule's executable or
  219. in the HELP:language/ directory, where language is any of your
  220. Locale preferred languages.  AmigaGuide(TM) is also available as a
  221. freely distributable package for 1.3-2.0 users.
  222.  
  223.    To get help on a gadget, press HELP while the mouse pointer is over
  224. the gadget.  To get help on a string gadget, activate it and press
  225. HELP.  Hitting HELP while the mouse isn't over a gadget, will give you
  226. help on the active window.
  227.  
  228.    To get help on a menu item, hilight the item and press HELP while
  229. keeping the right mouse button pressed.
  230.  
  231. Localization
  232. ============
  233.  
  234.    Localization requires locale.library,  which is distributed with
  235. Workbench version 2.1 and up, and the catalog file XModule.catalog
  236. located in the same directory of XModule's executable or in the
  237. LOCALE:catalogs/language/ directory, where langage is is any of
  238. your Locale preferred languages.
  239.  
  240.    If you speak a language for which a catalog isn't yet available,
  241. please consider writing it yourself and then send it to me, so it will
  242. be included in the next release of XModule.  Look at the empty catalog
  243. translation file Empty.ct in the Catalogs/.  It can be used to
  244. create new catalog descriptions for XModule.  Then, use a tool like
  245. `FlexCat', `KitKat' or `CatComp' to compile it into a catalog file.
  246.  
  247. Commodities support
  248. ===================
  249.  
  250.    XModule is a Commodity and can be controlled by the Commodities
  251. Exchange program.
  252.  
  253.    XModule will pop up when its hotkey is typed; the main window will
  254. activate and the screen will move to the front.  If XModule's interface
  255. is hidden, it will be revealed.
  256.  
  257.    The user interface can be hidden with the Exchange program.  When
  258. the user interface is hidden, the only ways you have to still operate
  259. XModule is through the ARexx port or the AppIcon.
  260.  
  261.    You can also control XModule by sending the following signals to its
  262. process:
  263.  
  264. *CTRL-C
  265.      Quit XModule.
  266.  
  267. *CTRL-D
  268.      Disable the Commodities broker (equivalent to selecting
  269.      Inactive with Commodities Exchange).
  270.  
  271. *CTRL-E
  272.      Enable the Commodities broker (equivalent to selecting Active
  273.      with Commodities Exchange).
  274.  
  275. *CTRL-F
  276.      Deiconify XModule (equivalent to double-clicking on the AppIcon).
  277.  
  278. Default Icons
  279. =============
  280.  
  281.    When XModule creates an icon for a file, it looks for the user
  282. preferred icon for the type of data being saved.
  283.  
  284.    The template icons can be placed in the Icons drawer which is
  285. located in the same drawer where the XModule executable resides.
  286. p{No Value For "rgname"} will also look for its icons in the
  287. ENV:Sys/ directory.  If you choose to use ENV:Sys/, you will
  288. probably want to store the icons in ENVARC:Sys/ to have them copied
  289. automatically to ENV:Sys/ every time the system boots up.
  290.  
  291.    Template icons should be only of type Project.  When XModule does
  292. not find a template icon, it uses the default Project icon instead.
  293.  
  294.    Whenever the default icon does not have its own default tool, it
  295. will be set to XModule's executable.
  296.  
  297.    The following default icons are supported:
  298.  
  299. -def_Module
  300. -def_Instrument
  301. Panels
  302. ******
  303.  
  304.    Sorry, XModule's documentation is still incomplete.  The next release
  305. will hopefully be more accurate.
  306.  
  307.    But wait! Do not commit suicide for this reason: XModule is very
  308. easy to use, and you will be able to operate it even without this
  309. chapter.
  310.  
  311. ToolBox Window
  312. ==============
  313.  
  314. Gadgets
  315. -------
  316.  
  317. Patterns (P)
  318.      Opens or activates the Pattern Editor window.
  319.  
  320. Instruments (I)
  321.      Opens or activates the Instruments information window.
  322.  
  323. Sequence (Q)
  324.      Opens or activates the Sequence editor.
  325.  
  326. Songs (S)
  327.      Opens or activates the Song Information window.
  328.  
  329. Optimization (O)
  330.      Opens or activates the Optimization window.
  331.  
  332. Play (P)
  333.      This option has not been implemented yet.
  334.  
  335. Project Menu
  336. ------------
  337.  
  338. New (Amiga-N)
  339.      Creates a new empty song.
  340.  
  341. Open (Amiga-O)
  342.      Opens a song over the current one.  A file requester will be put
  343.      up to let you choose the module.  The file requester is
  344.      asynchronous, so you can continue operating XModule while keeping
  345.      the requester open.  You can use multiselection to open several
  346.      modules at once.
  347.  
  348. Save (Amiga-S)
  349.      Saves the current song to the same path it was loaded from.
  350.  
  351. Save As (Amiga-A)
  352.      Opens a file requester and saves the current song to the selected
  353.      file name and path.
  354.  
  355. Clear Module (Amiga-K)
  356.      Opens or activates the Clear Song panel.
  357.  
  358. About (Amiga-?)
  359.      Brings up a requester showing various information on XModule.
  360.  
  361. Help (HELP)
  362.      Shows the main node of the AmigaGuide on-line help. See On-Line
  363.      Help.
  364.  
  365. Iconify (Amiga-I)
  366.      Closes all open windows and screens and puts an AppIcon on the
  367.      Workbench.  You can De-Iconify XModule by double clicking on the
  368.      icon or by using Show Interface in the Commodities Exchange
  369.      program.  See Commodities.
  370.  
  371. Quit (Amiga-Q)
  372.      Quits XModule.  A requester will ask if you are sure if the
  373.      Settings/Confirm Exit menu item is checked.
  374.  
  375. Settings Menu
  376. -------------
  377.  
  378. Save Format
  379.      Opens or activates the Save Format window.
  380.  
  381. User Interface
  382.      Opens or activates the User Interface window.
  383.  
  384. Save Icons?
  385.      When this menu item is checked, XModule will automatically add an
  386.      icon to the files it saves. See Default Icons.
  387.  
  388. Confirm Overwrite?
  389.      When this menu item is checked, XModule will ask before
  390.      overwriting an existing file when saving something.
  391.  
  392. Confirm Exit?
  393.      When this menu item is checked, XModule will ask if you are really
  394.      sure before quitting.
  395.  
  396. Verbose?
  397.      When this menu item is checked, XModule will be output more
  398.      detailed information on various operations.
  399.  
  400. Open Settings
  401.      Opens a file requester asking for an XModule preferences file.  The
  402.      changes will take place immediately.
  403.  
  404. Save Settings
  405.      Saves the current settings to PROGDIR:XModule.prefs, which is
  406.      where preferences are looked for first.
  407.  
  408. Save Settings As
  409.      Opens a file requester and saves the current settings to the
  410.      selected file and path name.
  411.  
  412. Pattern Editor Window
  413. =====================
  414.  
  415. Overview
  416. --------
  417.  
  418.    The pattern editor is used to actually edit notes into your song.  A
  419. song is made up of several patterns which are played one after the
  420. other following the order defined in the Sequence editor.
  421.  
  422.    A pattern is subdivided into tracks. Each track is made of several
  423. note slots.  Each note slot has four basic fields: the actual note, the
  424. number of the instrument used to play this note, a field for the
  425. effect (also called command) and a value for the effect, the
  426. meaning of which depends from the type of effect (see Effects).  A
  427. line is an horizontal set of note slots.  The lines are numbered
  428. starting from 0 (line numbers are displayed in the leftmost column of
  429. the pattern editor).
  430.  
  431.    A pattern can have 1 to 32 tracks.  The more the tracks, the more the
  432. notes that can be played at the same time.  When XModule plays a
  433. pattern, it reads the lines one by one, playing all the notes and
  434. executing all the effects as soon as it encounters them.  A pattern
  435. line can be imagined as one sixteenth of a beat when the pattern is
  436. played at the default speed and tempo.
  437.  
  438.    A pattern row looks like this:
  439.  
  440.      C-2 5 C40
  441.      ~~~ | |~~
  442.      |   | ||
  443.      |   | |+---- Effect Value
  444.      |   | +----- Effect Command
  445.      |   +------- Instrument
  446.      +----------- Note
  447.  
  448.    Notes are shown in anglosaxon notation, followed by the octave
  449. number.  So C-2 is a second octave DO in classic notation and
  450. A#3 is a third octave diesis LA.  There are 5 octaves numbered
  451. from 0 to 4; a C-2 note is twice the frequency of a C-1, and it's
  452. instrument will be played at double speed.
  453.  
  454.    The duration of the note is determined by the space left from one
  455. note to the next.  For example, if a note is immediately followed by
  456. another note on the same track, it's duration will be one sixteenth of
  457. a beat at four quarters.  If two notes are put one at line n and the
  458. other at line n+4 (leaving three blank spaces between), the duration of
  459. the first note will be exactly one quarter.
  460.  
  461.    Calculating the duration of a note can become trickier when weird
  462. combinations of speed and tempo are used.  Also, notes can be
  463. associated to instruments which have an endless loop (like a flute) or
  464. to instruments that only last for a short time and then stop (like a
  465. snare drum).  In the latter case, the duration of a note could be
  466. shorter than it's distance from the following note.  Experience will
  467. help understanding these simple rules.
  468.  
  469. Editor Keys
  470. -----------
  471.  
  472. up down left right
  473.      Move the cursor one position towards the respective direction.
  474.      Keeping cursor keys pressed will repeat the movement until the key
  475.      is released.
  476.  
  477.      Cursor keys in combination with the SHIFT key will move the
  478.      cursor a whole page up/down or one track left/right, keeping it on
  479.      the same column.
  480.  
  481.      Cursor keys in combination with the ALT key will move the cursor
  482.      to the top/bottom/leftmost/rightmost position.
  483.  
  484.      Cursor keys in combination with the CTRL key will scroll the view
  485.      without moving the cursor. This is useful to reveal something
  486.      without having to reposition the cursor.
  487.  
  488.          NOTE: You can adjust the repeat speed and delay with the
  489.      `Input' system preferences.
  490.  
  491. TAB
  492.      Move to the note column of the next track.  Pressing TAB on the
  493.      last track, will bring the cursor to the first track.
  494.      SHIFT-TAB moves backwards.
  495.  
  496. DEL
  497.      Delete the field under the cursor.  SHIFT-DEL kills all the note
  498.      slot (note, effect and value).
  499.  
  500. Project Menu
  501. ------------
  502.  
  503. Open Pattern (Amiga-O)
  504.      Opens a file requester where you can select a pattern to be loaded
  505.      in place of the current one.
  506.  
  507. Save Pattern (Amiga-S)
  508.      Saves the current pattern to a file with the same name of the
  509.      pattern.  If the pattern has no name, a file requester will open.
  510.  
  511. Save Pattern As (Amiga-A)
  512.      Opens a file requester where you can select the file and path name
  513.      where the current pattern will be saved to.
  514.  
  515. Edit Menu
  516. ---------
  517.  
  518. Mark (Amiga-M)
  519.      Toggles mark mode in the pattern editor.
  520.  
  521. Cut (Amiga-X)
  522.      Copies the currently marked region to the clipboard and erases it
  523.      from the pattern.
  524.  
  525. Copy (Amiga-C)
  526.      Copies the currently marked region to the clipboard.
  527.  
  528. Paste (Amiga-V)
  529.      Gets the last pattern stored into the clipboard and pastes it in
  530.      the current pattern starting at the current cursor position.
  531.  
  532. Erase (Amiga-E)
  533.      Clears the currently marked region.
  534.  
  535. Undo (Amiga-U)
  536.      Restores the pattern to the state it was before the last
  537.      modification.
  538.  
  539. Redo (Amiga-Y)
  540.      Remakes the last change undone with the Undo function.
  541.  
  542. Instruments Editor Window
  543. =========================
  544.  
  545. Gadgets
  546. -------
  547.  
  548. Instruments List (Cursor up/down)
  549.      This list shows all the instruments of a song.  The leftmost column
  550.      is the instrument number (hexadecimal), followed by its name.
  551.      Some musicians usually use the instrument names to include short
  552.      texts inside the modules they distribute.  Picking an instrument
  553.      from this list will set it as the current instrument.  An empty
  554.      instrument slot with no name will have the word -empty- in place
  555.      of its name.
  556.  
  557. Instrument Name (RETURN or TAB)
  558.      (The string gadget immediately below the Instruments list). Allows
  559.      editing the name of the currently selected instrument.
  560.  
  561. Volume (V)
  562.      Default instrument volume.  Ranges from 0 (mute) to 64 (maximum
  563.      volume).
  564.  
  565. Fine Tune (F)
  566.      Sets the instrument fine tune.  0 is the default tuning.  Negative
  567.      values cause the instrument to be played at a slightly lower
  568.      frequency.  Positive values cause the instrument to be played at a
  569.      slightly higher frequency.
  570.  
  571. Lenght
  572.      Displays the instrument lenght in bytes.
  573.  
  574. Kind (K)
  575.      This function has not yet been implemented.
  576.  
  577. Edit (E)
  578.      Opens or activates the Sample Editor panel.
  579.  
  580. Instruments Menu
  581. ----------------
  582.  
  583. Load (Amiga-L)
  584.      Loads an instrument in the current intrument slot.  A file
  585.      requester will be put up to let you choose the instrument.  The
  586.      file requester is asynchronous, so you can continue operating
  587.      XModule while keeping the requester open.
  588.  
  589. Save (Amiga-S)
  590.      Saves the current instrument to a file with its current name.
  591.  
  592. SaveAs (Amiga-A)
  593.      Opens a file requester and saves the current instrument to the
  594.      selected file name and path.
  595.  
  596. Remap (Amiga-R)
  597.      Remaps all the instruments removing all empty slots between them.
  598.      The song patterns are updated to keep the correct instruments.
  599.      This function is useful to save a module to a format which has a
  600.      limited number of instruments, like SoundTracker.
  601.  
  602. Song Information Window
  603. =======================
  604.  
  605. Gadgets
  606. -------
  607.  
  608. New
  609.      Creates a new module and makes it the current module.
  610.  
  611. Del
  612.      Deletes the current module from memory. If the module has been
  613.      modified since last saving, a requester will give you the chance
  614.      to abort the operation.
  615.  
  616. Open... (O)
  617.      Opens a song over the current one.  A file requester will be put
  618.      up to let you choose the module.  The file requester is
  619.      asynchronous, so you can continue operating XModule while keeping
  620.      the requester open.  You can use multiselection to open several
  621.      modules at once.  This gadget behaves exactly like the Open menu
  622.      item in the ToolBox panel.
  623.  
  624. Save (S)
  625.      Saves the current song to the same path it was loaded from.  This
  626.      gadget behaves exactly like the Save menu item in the ToolBox
  627.      panel.
  628.  
  629. Song Name (N)
  630.      Displays the name of the current song.  You can use any character
  631.      in the song name, but keep in mind that the name you type will be
  632.      used by default as the filename for the song, so be careful with
  633.      special characters such as / and :!
  634.  
  635. Author (A)
  636.      Displays the author of the current song.  XModule tries to guess
  637.      the author when it loads a module whose format has no direct
  638.      support for embedded author name. XModule scans the instruments
  639.      names looking for a line beginning with a pound sign (#). This
  640.      convention started with `IntuiTracker', an old module player for
  641.      the Amiga. If the author name can't still be found, XModule looks
  642.      again for an occurence of by by: or (c), which is usually
  643.      followed by the author name.  The author name is ignored when
  644.      saving to a format which does not support embedding the author
  645.      name.
  646.  
  647. Tempo (T)
  648.      Displays the default tempo for the current song.  Valid range is
  649.      32-255, the dafult is 125. The default tempo is used when the song
  650.      starts playing and can be overridden by the Set Tempo command.
  651.      See Effects.
  652.  
  653. Speed (P)
  654.      Displays the default speed for the current song.  Valid range is
  655.      1-31, the dafult is 6. The default speed is used when the song
  656.      starts playing and can be overridden by the Set Speed command.
  657.      See Effects.
  658.  
  659. Restart (R)
  660.      Displays the position where playback will continue once the song
  661.      end has been reached.  The restart position is lost when saving to
  662.      formats which do not support it.
  663.  
  664. Patterns
  665.      Displays the total number of patterns in the song.
  666.  
  667. Tracks
  668.      Displays the maximum number of tracks in the song.
  669.  
  670. Length
  671.      Displays the number of positions in the song sequence.
  672.  
  673. Total Module Size
  674.      Shows an approximation of the memory used up by the song and its
  675.      data.  This value will usually be similar to the file size.
  676.  
  677. Total Instruments Size
  678.      Shows an approximation of the memory used by all the instruments
  679.      of the current song.
  680.  
  681. Song Menu
  682. ---------
  683.  
  684. Merge Songs (Amiga-M)
  685. Join Songs (Amiga-J)
  686. Clear (Amiga-K)
  687. Sequence Editor Window
  688. ======================
  689.  
  690. Gadgets
  691. -------
  692.  
  693.    Had no time to write it, sorry. ;-)
  694.  
  695. Menu
  696. ----
  697.  
  698.    Had no time to write it, sorry. ;-)
  699.  
  700. Save Format Window
  701. ==================
  702.  
  703. Gadgets
  704. -------
  705.  
  706.    Had no time to write it, sorry. ;-)
  707.  
  708. Menu
  709. ----
  710.  
  711.    Had no time to write it, sorry. ;-)
  712.  
  713. Clear Song Window
  714. =================
  715.  
  716. Gadgets
  717. -------
  718.  
  719.    Had no time to write it, sorry. ;-)
  720.  
  721. Menu
  722. ----
  723.  
  724.    Had no time to write it, sorry. ;-)
  725.  
  726. Sample Editor Window
  727. ====================
  728.  
  729. Gadgets
  730. -------
  731.  
  732.    Had no time to write it, sorry. ;-)
  733.  
  734. Menu
  735. ----
  736.  
  737.    Had no time to write it, sorry. ;-)
  738.  
  739. Effects
  740. *******
  741.  
  742.    Had no time to write it, sorry. ;-)
  743.  
  744. Format Conversion
  745. *****************
  746.  
  747.    XModule can load and save modules created by other music editors.
  748. The following is a list of all supported module formats:
  749.  
  750.    As a matter of fact, there are things that simply cannot be done
  751. because of the big differences between different module formats.  Below
  752. is a list of the internal limitations of each module format.  When you
  753. save to a particular format and the module exceeds one of these values,
  754. or makes use of features not implemented, some data will be stripped
  755. away to produce at least a partial conversion.
  756.  
  757.  
  758.      Program          Instr  MaxPatt PattLen SongLen InstrLen Tracks
  759.      ---------------------------------------------------------------
  760.      Oktalyzer         36      128     128     128     128K      4
  761.      SoundTracker      15       64      64     128      64K      4
  762.      NoiseTracker      31       64      64     128      64K      4
  763.      StarTrekker       31       64      64     128      64K     4/8
  764.      ProTracker        31      100      64     128      64K      4
  765.      Fast Tracker I    31      100      64     128      64K    4/6/8
  766.      MED/OctaMED       63      256     256     256   No Limit  1-64
  767.      
  768.      XModule           63      256   32768   32768   No Limit  1-32
  769.      
  770.      
  771.      Where:
  772.      #Instr   is the maximum number of instruments,
  773.      MaxPatt  is the maximum number of patterns,
  774.      PattLen  is the maximum number of lines per pattern,
  775.      SongLen  is the maximum number of positions in a song,
  776.      InstrLen is the maximum size of an instrument in bytes,
  777.      Tracks   is the maximum number of tracks in a pattern.
  778.  
  779.    Effects are the hardest thing to convert.  While Speed and Volume
  780. are almost the same between different music editors, some effects (such
  781. as Oktalyzer's H and L) cannot be converted because there are no
  782. equivalents in other music editors.  Therefore, you will have to modify
  783. the score manually if you intend to convert a module while keeping such
  784. effects.  In addition, some effects behave in different ways even if
  785. they claim to do the same thing.
  786.  
  787.    Last but not least, some music editors support synthetic or hybrid
  788. instruments.  XModule does not convert such instruments, because I can
  789. hardly think of a way to implement a sample to synth conversion (any
  790. ideas?). I used to like synthetic music, but it seems that all those
  791. great composers on the good old C64 have vanished...  Why have you
  792. musicians become so lazy? 8-(
  793.  
  794. NoiseTracker
  795. ============
  796.  
  797.    Noise/ProTracker 31 instruments module.  This is absolutely the most
  798. common module format; almost any music editor and module player (even
  799. the crap ones for the PeeCee) understand this format.  Noise/ProTracker
  800. modules can be recognized by looking for the ID M.K. at offset 1080
  801. ($438 in hex) in the file.  M.K. are the initials of Mahoney &
  802. Kaktus, the two guys who designed this format.
  803.  
  804.    Unfortunately, there is an infinite variety of standard NoiseTracker
  805. modules with fancy IDs. In fact, most tracker clones put their own ID
  806. instead of the standard one even if there is no reason to do it.  If
  807. you find such a module, try replacing the ID with an hex editor and you
  808. will be able to load it most of the times.
  809.  
  810. ProTracker 100 Patterns
  811. =======================
  812.  
  813.    XModule will automatically switch to ProTracker 100 whenever the
  814. module being saved exceeds the 64 patterns limit of NoiseTracker
  815. modules.  Modules with more than 64 patterns have the ID M!K! instead
  816. of the standard Noise/ProTracker ID (M.K.).
  817.  
  818.        Note: You must load such a module with ProTracker 2.3 or
  819. better in order to play/edit it.  Older players will either refuse to
  820. load it or they'll turn the module into scratch dance.
  821.  
  822.    ProTracker 3.0+ has a completely new file format, but this isn't
  823. supported yet, as I've never seen a module of this kind yet.
  824.  
  825. SoundTracker 15 Instruments
  826. ===========================
  827.  
  828.    This format is pretty useless as SoundTracker is becoming really
  829. rare.  Do not save SoundTracker modules unless you really need to,
  830. because most players/editors will stop supporting this format very soon.
  831. There is no way to identify a SoundTracker module, therefore XModule
  832. will ask you to confirm a SoundTracker module when the file being
  833. loaded matches no other known module format.
  834.  
  835. StarTrekker
  836. ===========
  837.  
  838.    StarTrekker is another NoiseTracker clone, which is capable of
  839. playing modules with 4 or 8 channels and supports MIDI devices.  The
  840. format of 4 channels modules is the same of NoiseTracker, except for
  841. the FLT4 ID.  Modules with 8 channels have the ID FLT8, and keep
  842. the extra data in a second file, whose structure I don't know.  If you
  843. want support for 8 channels StarTrekker modules, please send me some
  844. information on its format.
  845.  
  846. UNIC-Tracker
  847. ============
  848.  
  849.    Actually, I've never seen UnicTracker, but I sometimes ripp Unic
  850. modules with ExoticRipper, so I decided to give support for this weird
  851. Tracker clone too.  The format is very similar to that of ProTracker
  852. modules, except for the EMW3 ID.
  853.  
  854. FastTracker 1.0
  855. ===============
  856.  
  857.    The format of FastTracker 1.0 modules is exactly the same of
  858. TakeTracker, but they can have only 6 or 8 channels.  XModule does not
  859. support FastTracker 2.0 modules (those with extension .xm) yet.
  860.  
  861. TakeTracker
  862. ===========
  863.  
  864.    These are Standard ProTracker modules, but they can have up to 32
  865. channels.  Their ID is 5CHN6CHN, and so on, up to 32CH.  This
  866. format comes from some damn PeeCee tracker, which I've never seen.
  867. Anyway, adding this format was a matter of five minutes.
  868.  
  869. Oktalyzer 1.1
  870. =============
  871.  
  872.    Oktalyzer is an old editor which can play up to 8 channels by mixing
  873. instruments in real time.  Oktalyzer modules start with the ID
  874. OCTASONGGMOD.  Development of Oktalyzer has been discontinued, as
  875. the author seems to be programming on Windoze now.  It's really a
  876. shame, as many musicians found that Oktalyzer was one of the most
  877. powerful trackers for the Amiga.
  878.  
  879. MED
  880. ===
  881.  
  882.    Not all features of MED are supported by XModule.  Synthetic and
  883. hybrid instruments are ignored.
  884.  
  885. OctaMED
  886. =======
  887.  
  888.    MMD2 modules are not supported.  XModule will only load the first
  889. song in multisong modules.
  890.  
  891.    XModule currently has an internal limit of only 32 tracks, while
  892. OctaMED can do up to 128 tracks.  However, OctaMED can only play the
  893. first 8 tracks, so what are the other tracks for? ;-)
  894.  
  895. ScreamTracker
  896. =============
  897.  
  898.    ScreamTracker 3.01 is a damn PeeCee program made by those Future Crew
  899. guys who are trying to turn clones into Amigas.  ScreamTracker has the
  900. amazing feature of playing 32 tracks, 16 of which are for 8-bit digital
  901. samples.  The other 16 tracks play ADLib FM synths (not supported by
  902. XModule).
  903.  
  904. MIDI File
  905. =========
  906.  
  907.    MIDI is the industry standard musical score format (the same way
  908. Windoze is the industry standard graphic interface :-).  The MIDI
  909. concept is very different from tracker modules.  There are no sequence
  910. and patterns, but a long stream of events (notes) that have to be sent
  911. to some MIDI compliant device, one after the other, at specific time
  912. intrvals, based on the duration of each note.  There are no instruments
  913. inside MIDI files; instead, each note is associated with a preset
  914. number that matches a particular instrument in the device to which the
  915. MIDI events are sent.
  916.  
  917.    XModule's MIDI file saver is based on Andrew Scott's MidiMod program
  918. and I wish to thank him for granting me permission to use his code in
  919. XModule.
  920.  
  921. Optimization
  922. ************
  923.  
  924.    Module optimization is achieved by removing all unused data in such
  925. a way that the module will sound the same as before.  XModule can
  926. process a module to reduce its size as much as possible.  It is
  927. generally a good idea to optimize a module before distributing it, but
  928. never while you are still composing it, because you could easily loose
  929. some data that you didn't want to discard.  Do not expect to gain a lot
  930. of bytes optimizing modules: saving 20% of the total size is usually a
  931. very good result.
  932.  
  933. Unused patterns
  934.      Some formats (e.g.: Sound/Noise/ProTracker) store empty patterns
  935.      in a module if a pattern with a greater number is used.  For
  936.      instance, a song using patterns 1, 2 and 5 will contain patterns 3
  937.      and 4 as well.
  938.  
  939.          Warning: If a song contains a part that has not been finished
  940.      yet and has not already been inserted in the position table, you
  941.      will lose it.
  942.  
  943.          Warning: When a song is saved to Noise/ProTracker, patterns
  944.      beyond the last used patterns are discarded regardless of this
  945.      switch.  This is due to a limitation of Noise/ProTracker module
  946.      format.
  947.  
  948. Pattern Cutting
  949.      When a pattern is breaked with the Pattern Break effect, it is cut
  950.      to the line containing the break.  When saving to a format that
  951.      does not support variable length patterns (eg.: SoundTracker), the
  952.      pattern is grown again, so this optimization won't help with such
  953.      formats.
  954.  
  955. Unused instruments
  956.      A composer may decide to use an instrument and then change his
  957.      mind, but forget to clear the instrument.  In this case the module
  958.      will contain an instrument that is never played.  These instruments
  959.      are simply stripped away.
  960.  
  961. Sample data after a loop
  962.      The part of an instrument following a loop is never played and is
  963.      therefore discarded.
  964.  
  965. Instruments zero tails
  966.      Long zero tails eat up memory and produce no sound.  This
  967.      optimization is performed only on loopless instruments, as a zero
  968.      sequence inside a loop does make difference.  XModule leaves at
  969.      least two zero bytes to avoid the nasty click produced by the
  970.      speaker dropping its volume to zero too quickly.
  971.  
  972. ARexx Interface
  973. ***************
  974.  
  975.    Sorry, sorry!  XModule's documentation is still incomplete.  The
  976. next release will hopefully be more accurate (and it's already four
  977. releases I'm promising it :-).
  978.  
  979.    Anyway, XModule's ARexx port is a little brain dead at the moment,
  980. so you're not missing a great deal.
  981.  
  982. Known Bugs
  983. **********
  984.  
  985.    Murphy's laws state that nothing can be perfect, not even computer
  986. programs.  XModule is far from being perfect and I need your help to
  987. fix as many bugs as possible.  If you discover a bug which isn't
  988. reported in the list below (note: there is no list at the moment; this
  989. is a beta release, remember?), please notify me.
  990.  
  991.    When you report a bug, state exactly what happens and indicate how
  992. to reproduce the conditions that generated the problem.  Reports like
  993. `XModule sometimes crashes converting my favorite module' does not help
  994. at all.  Include your name if you want to be credited in future XModule
  995. releases.
  996.  
  997.    If the program refuses to convert a module, mail it to me on a disk
  998. or upload it to a BBS that I can reach and I'll try to fix the problem
  999. as soon as possible.  Glass Globe BBS, whose address can be found in
  1000. the Author Info chapter, will do.  If you want the disk back with the
  1001. fixed version of XModule, send me a self-addressed envelope with enough
  1002. italian stamps or enough money for a reply.
  1003.  
  1004.    XModule has been tested on several machines running Kickstart 2.0,
  1005. 3.0 and 3.1.  It should work on any 68K family processor (was tested on
  1006. 68000, 68030 and 68040) and is Enforcer and Mungwall proof.  I have also
  1007. tested XModule with virtual memory programs such as VMM and found that
  1008. everything seems to work correctly.
  1009.  
  1010. Future plans
  1011. ************
  1012.  
  1013. Other module formats
  1014.      Some formats I'd like to give support for in XModule as soon as
  1015.      possible:
  1016.  
  1017.         - FastTracker II (.XM)
  1018.  
  1019.         - MultiTracker (.MTM)
  1020.  
  1021.         - OctaMED MMD2
  1022.  
  1023.         - Face The Music (.FTM)
  1024.  
  1025.         - Quadra Composer
  1026.  
  1027.      If you have documentation regarding a format you would like to see
  1028.      in the next release, please send it to me together with a couple
  1029.      of modules and, if possible and legal, the program that created
  1030.      them.  I'll try to implement the new format only if it is somewhat
  1031.      easy: it is very hard to convert, say, Future Composer to
  1032.      SoundTracker.  Please, do not send a module without at least a
  1033.      text file describing its structure, as I'm not willing to spend my
  1034.      nights hex-dumping modules :-).
  1035.  
  1036. TeX
  1037.      Another format I'd like to add is AmigaTeX.  If you know TeX,
  1038.      you'll surely be wondering what a typesetting program can be used
  1039.      for in music.  Well, AmigaTeX is at the moment is the best
  1040.      implementation available on any computer of the TeX typesetting
  1041.      environment, and its distribution includes MusicTeX, a powerful
  1042.      music language which can output notes in a great standard staff
  1043.      notation.  I know no other program on the Amiga that can print
  1044.      notes of such fine quality (if you do, let me know!), so I think
  1045.      that many musicians would appreciate such an option.
  1046.  
  1047. External Loaders/Savers
  1048.      Add support for 3rd party loaders and savers in XModuule.
  1049.      Currently, I'm thinking about the best implementation of the
  1050.      external module interface.  The really best way would be making a
  1051.      new DataTypes class for modules, but it's not that easy...
  1052.  
  1053. Programmer notes
  1054. ****************
  1055.  
  1056.    XModule has been written in C and compiled with SAS C 6.51, Other
  1057. compilers may require some changes in the source code.
  1058.  
  1059.    The program is written in respect of the Amiga multitasking
  1060. operative system and complies with Commodore programming guidelines.
  1061. All allocated resources will be (hopefully) freed before program
  1062. termination.  I wrote XModule with the goal in mind of keeping the
  1063. executable fast and small.
  1064.  
  1065.    This manual has been typeset using MakeInfo, a GNU PD utility ported
  1066. to the Amiga by Reinhard Spisser and Sebastiano Vigna.  I found that
  1067. the time I saved writing one file for three was nearly compensated by
  1068. the time spent learning how to operate MakeInfo.
  1069.  
  1070.    Besides, English is not my first language (as you might have
  1071. guessed) and I bet this document is full of grammar mistakes.
  1072.  
  1073.    If you intend to translate, improve or somewhat edit this document,
  1074. please work on the supplied TexInfo file and then process it with the
  1075. utilities supplied in the MakeGuide distribution.  You can find
  1076. MakeGuide in several PD libraries such as Aminet.
  1077.  
  1078.    Do not hesitate sending criticisms to my work, and, even better,
  1079. advices on how to improve the program and its documentation.  See
  1080. Author Info.
  1081.  
  1082. XModule Module Format
  1083. *********************
  1084.  
  1085.    Before going into the details of the XModule module format, I'd like
  1086. to explain why I felt the need to invent yet another module format.
  1087. There were plenty of them, but none had the flexibility I was looking
  1088. for. The only one exception is in my opinion OctaMED's MMD.  But the
  1089. MMD file format is very complicated, hard to read and poorly
  1090. documented.  When I designed it, I wanted XMOD to be as flexible, easy,
  1091. efficient and expandable as possible.  If you are developing a music
  1092. program, please consider supporting XMOD.  If you have troubles with
  1093. the following format description, contact me and I'll be glad to help
  1094. you.
  1095.  
  1096.    XModule modules are standard IFF files.  They consist of a sequence
  1097. of chunks (also called proprieties) each storing a particular type of
  1098. information related to the module.  Text chunks, such as NAME and AUTH
  1099. chunks are variable sized and NOT null terminated.  When you read such
  1100. a chunk, you should take care to clip the string to your maximum buffer
  1101. size.  NAME and AUTH fields are optional and should be assumed empty
  1102. when missing.
  1103.  
  1104.    As with every IFF file, you should not depend on the order and size
  1105. of any chunk.  However, as usual with most IFF formats, header chunks
  1106. must always precede related BODY chunks.  XModule requires this for
  1107. PHDR chunks because it isn't possible to load a pattern without knowing
  1108. its length and number of tracks.  Some chunks may grow in size in
  1109. future versions of XModule.
  1110.  
  1111.      FORM XMOD
  1112.      
  1113.        [NAME]
  1114.          The name chunk contains the original name used to save the module.
  1115.      
  1116.        [ANNO]
  1117.          XModule stores its copyright information here.
  1118.      
  1119.        MHDR
  1120.          Module header.  Contains a ModuleHeader structure as defined in
  1121.          <XModuleClass.h>.
  1122.      
  1123.        FORM SONG
  1124.          The song FORM contains all data relative to one song.  Any
  1125.          number of songs can be stored into one module.
  1126.      
  1127.          [NAME]
  1128.            Name of the song.
  1129.      
  1130.          [AUTH]
  1131.            Author of the song.
  1132.      
  1133.          SHDR
  1134.            Song Header.  Contains a SongHeader structure as defined in
  1135.            <XModuleClass.h>.
  1136.      
  1137.          SEQN
  1138.            Song Sequence.  The contents of this chunk are unsigned words
  1139.            representing the pattern to play at a particular position.
  1140.            The size of this chunk should be twice the Length field of
  1141.            the SongHeader.
  1142.            When a song contains multiple sections, one SEQN chunk will
  1143.            be stored for each of the song sections (not implemented).
  1144.      
  1145.          FORM PATT
  1146.            Each occurrence of this FORM contains one pattern.  Patterns
  1147.            are numbered starting from 0.  Each pattern has its own
  1148.            length and number of tracks.
  1149.      
  1150.            [NAME]
  1151.              Name of this Pattern.
  1152.      
  1153.            PHDR
  1154.              Pattern Header.  Contains a PatternHeader structure as
  1155.              defined in <XModuleClass.h>.
  1156.      
  1157.            BODY
  1158.              The BODY chunk is stored as an array of PatternNote
  1159.              structures.  Tracks are stored one after the other.
  1160.              There are NumTracks*Length Note structures in the BODY
  1161.              chunk.
  1162.      
  1163.          END FORM PATT
  1164.      
  1165.          FORM 8SVX
  1166.            Each SONG contains one or more occurences of this FORM,
  1167.            one for each sample.  XModule currently saves and loads
  1168.            only the NAME, VHDR and BODY chunks.  Be prepared to
  1169.            decode Fibonacci Delta Encoded BODY chunks. An additional
  1170.            non-standard chunk is saved:
  1171.      
  1172.            INST
  1173.              XModule instrument info.  Contains an InstrumentInfo
  1174.              structure  as defined in <XModuleClass.h>.
  1175.      
  1176.            When the BODY chunk is missing, the sample must be
  1177.            loaded from the instrument library using the contents
  1178.            of the NAME chunk as the file name.
  1179.      
  1180.            See the IFF 8SVX documentation for more details.
  1181.      
  1182.          END FORM 8SVX
  1183.      
  1184.        END FORM SONG
  1185.      
  1186.      END FORM XMOD
  1187.  
  1188. Credits
  1189. *******
  1190.  
  1191.    These people have helped me in developing XModule:
  1192.  
  1193.    * Fabio Barzagli, for beta testing XModule and for giving me all his
  1194.      awesome modules!
  1195.  
  1196.      Keep on making good music, Fabio!
  1197.  
  1198.    * Jarno Paanen, for sending me the obfuscated source of his 32
  1199.      channel replay engine and for the e-mail support.
  1200.  
  1201.      Perhaps I would have understood more by disassembling the PS3M
  1202.      executable. :-))
  1203.  
  1204.    * Peter Kunath, for sending me all the sources I asked him for and
  1205.      for giving me very detailed information on them.
  1206.  
  1207.      What would have happened if I asked you for the complete
  1208.      DeliTracker sources? :-))
  1209.  
  1210.    * Massimo Brogioni, for being my boss and for spreading all those
  1211.      bogus XModule releases all around the world.
  1212.  
  1213.      Hey boss, have you got a spare 5Gig hard disk?
  1214.  
  1215.    * Erno Tuomainen, for his wonderful finnish BBS, for his kindness
  1216.      and for all the support he gave me.
  1217.  
  1218.      Are there any more top-rated modules to leech?
  1219.  
  1220.    * Pauli Porkka, for his kindness, for letting me win a free DASMP
  1221.      key, for the sources and for all the e-mails.
  1222.  
  1223.      Will you support my format in the next DASMP release?
  1224.  
  1225.    * Woody (Nicola Ferruzzi), for S3M and XM format descriptions.
  1226.  
  1227.      I'll send you a postcard from Japan as soon as I go there. :-)
  1228.  
  1229.    * The Amiga, for being the best computer in the world. :^)
  1230.  
  1231.      Commodore: You've put really a lot of effort trying to kill the
  1232.      Amiga, but you won't succeed!
  1233.  
  1234. How to contact the author
  1235. *************************
  1236.  
  1237.    If you want to make me aware of your suggestions, bug reports, ideas
  1238. or you want to send me a gift, a good module or, why not, some money
  1239. :-), reach me in any of the following ways:
  1240.  
  1241. Mail
  1242.           Bernardo Innocenti
  1243.           Via Ventiquattro Maggio, 14
  1244.           50129 - Firenze
  1245.           ITALY
  1246.  
  1247. FAX
  1248.           +39-55-8877771
  1249.           Attn:  Bernardo Innocenti
  1250.           Subj:  Amiga/XModule
  1251.  
  1252. E-Mail
  1253.           FidoNet:  Bernardo Innocenti 2:332/118.4
  1254.           AmigaNet: Bernardo Innocenti 39:102/201.4
  1255.           UseNet:   bernie@shock.nervous.com
  1256.  
  1257. SystemShock BBS
  1258.           Phone:  +39-55-499038
  1259.           Sysop:  Bernardo Innocenti
  1260.           Message area 300: XModule Support
  1261.  
  1262.    I'll try to reply to all my E-Mail, but I'm too lazy to reply
  1263. snail-mail.  Your suggestions will be taken into account unless they are
  1264. `I want XModule to do ice tea'-style.
  1265.  
  1266. Concept Index
  1267. *************
  1268.  
  1269.  
  1270.  
  1271.  100 Patterns ProTracker modules        ProTracker
  1272.  32 Channels ProTracker Modules         TakeTracker
  1273.  6CHN                                   FastTracker
  1274.  8CHN                                   FastTracker
  1275.  Acknowledgements                       Credits
  1276.  Arguments, command line                Getting Started
  1277.  Author's address                       Author Info
  1278.  Break signals                          Commodities
  1279.  Bug reports                            Known Bugs
  1280.  Bugs, known ones                       Known Bugs
  1281.  Commands                               Effects
  1282.  Compiling XModule                      Programmers
  1283.  Contact the author, how to             Author Info
  1284.  Credits                                Credits
  1285.  def_Instrument                         Default Icons
  1286.  def_Module                             Default Icons
  1287.  Distribution                           Distribution
  1288.  Effects                                Effects
  1289.  FastTracker                            FastTracker
  1290.  File Format used by XModule            XModule Format
  1291.  Font Sensivity                         Windows Layout
  1292.  Format Conversion                      Format Conversion
  1293.  GUI                                    User Interface
  1294.  Help, On-Line                          On-Line Help
  1295.  How to contact the author              Author Info
  1296.  Icons, changing defaults               Default Icons
  1297.  Instruments Editor Window              Instruments
  1298.  Introduction                           Overview
  1299.  Keys, Shortcuts                        Shortcut Keys
  1300.  Known Bugs                             Known Bugs
  1301.  Language selection                     Localization
  1302.  Layout, of Windows                     Windows Layout
  1303.  Localization                           Localization
  1304.  M!K!                                   ProTracker
  1305.  MED                                    MED
  1306.  MIDI File                              MIDI File
  1307.  MMD Format                             OctaMED
  1308.  Modifying XModule                      Programmers
  1309.  Module Formats                         Format Conversion
  1310.  NoiseTracker                           NoiseTracker
  1311.  Notation                               Pattern Editor
  1312.  OctaMED                                OctaMED
  1313.  Oktalyzer                              Oktalyzer
  1314.  On-Line Help                           On-Line Help
  1315.  Optimization                           Optimization
  1316.  Overview of XModule                    Overview
  1317.  Panels                                 Panels
  1318.  Pattern Editor Window                  Pattern Editor
  1319.  Programmers, notes for                 Programmers
  1320.  ProTracker                             ProTracker
  1321.  S3M Format                             ScreamTracker
  1322.  Save Format Window                     Save Format
  1323.  ScreamTracker                          ScreamTracker
  1324.  Sequence Editor Window                 Sequence
  1325.  Shortcut Keys                          Shortcut Keys
  1326.  Song Information Window                Song Information
  1327.  SoundTracker                           SoundTracker
  1328.  Starting XModule                       Getting Started
  1329.  StarTrekker                            StarTrekker
  1330.  TakeTracker                            TakeTracker
  1331.  Thanks                                 Credits
  1332.  ToolTypes                              Getting Started
  1333.  UNIC-Tracker                           UNIC-Tracker
  1334.  Usage                                  Getting Started
  1335.  User Interface                         User Interface
  1336.  Windows                                Panels
  1337.  Windows Layout                         Windows Layout
  1338.  Writing a new language catalog         Localization
  1339.  
  1340.